package com.ht.pms.core.dto;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author 喻尊龙
 * @since 2018-11-23
 */
@ApiModel
@TableName("t_over_time_detail")
public class OverTimeDetail extends Model<OverTimeDetail> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键，自增长
     */
	@TableId(value="id", type= IdType.AUTO)
	@ApiModelProperty(required= true,value = "主键，自增长")
	private Integer id;
    /**
     * 钉钉userId
     */
	@TableField("user_id")
	@ApiModelProperty(required= true,value = "钉钉userId")
	private String userId;
    /**
     * 名称
     */
	@TableField("user_name")
	@ApiModelProperty(required= true,value = "名称")
	private String userName;
    /**
     * 加班开始时间
     */
	@TableField("approve_start_time")
	@ApiModelProperty(required= true,value = "加班开始时间")
	private Date approveStartTime;
    /**
     * 加班结束时间
     */
	@TableField("approve_end_time")
	@ApiModelProperty(required= true,value = "加班结束时间")
	private Date approveEndTime;
    /**
     * 实际打卡上班时间
     */
	@TableField("actual_start_time")
	@ApiModelProperty(required= true,value = "实际打卡上班时间")
	private Date actualStartTime;
    /**
     * 时间打卡下班时间
     */
	@TableField("actual_end_time")
	@ApiModelProperty(required= true,value = "时间打卡下班时间")
	private Date actualEndTime;
    /**
     * 加班申请提交时间
     */
	@TableField("approve_time")
	@ApiModelProperty(required= true,value = "加班申请提交时间")
	private Date approveTime;
    /**
     * 加班时长
     */
	@TableField("over_time_hours")
	@ApiModelProperty(required= true,value = "加班时长")
	private BigDecimal overTimeHours;
    /**
     * 加班日期
     */
	@TableField("over_time_date")
	@ApiModelProperty(required= true,value = "加班日期")
	private Date overTimeDate;
    /**
     * 工号
     */
	@TableField("job_code")
	@ApiModelProperty(required= true,value = "工号")
	private String jobCode;
    /**
     * 更新时间
     */
	@TableField("update_time")
	@ApiModelProperty(required= true,value = "更新时间")
	private Date updateTime;
    /**
     * 创建时间
     */
	@TableField("create_time")
	@ApiModelProperty(required= true,value = "创建时间")
	private Date createTime;
    /**
     * 外出开始时间
     */
	@TableField("go_out_star_time")
	@ApiModelProperty(required= true,value = "外出开始时间")
	private Date goOutStarTime;
    /**
     * 外出结束时间
     */
	@TableField("go_out_end_time")
	@ApiModelProperty(required= true,value = "外出结束时间")
	private Date goOutEndTime;
    /**
     * 出差开始时间
     */
	@TableField("on_business_start_time")
	@ApiModelProperty(required= true,value = "出差开始时间")
	private Date onBusinessStartTime;
    /**
     * 出差结束时间
     */
	@TableField("on_business_end_time")
	@ApiModelProperty(required= true,value = "出差结束时间")
	private Date onBusinessEndTime;
    /**
     * 加班申请审批单号
     */
	@TableField("over_time_approve_id")
	@ApiModelProperty(required= true,value = "加班申请审批单号")
	private String overTimeApproveId;
    /**
     * 外出申请审批单号
     */
	@TableField("go_out_approve_id")
	@ApiModelProperty(required= true,value = "外出申请审批单号")
	private String goOutApproveId;
    /**
     * 出差申请审批单号
     */
	@TableField("on_business_approve_id")
	@ApiModelProperty(required= true,value = "出差申请审批单号")
	private String onBusinessApproveId;

	/**
	 * 是否三倍
	 */
	@TableField("is_triple")
	@ApiModelProperty(required= true,value = "是否三倍")
	private Integer isTriple;

	/**
	 * 公司类型 ht fc zc td
	 */
	@TableField("company_type")
	@ApiModelProperty(required= true,value = "公司类型")
	private String companyType;


	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public Date getApproveStartTime() {
		return approveStartTime;
	}

	public void setApproveStartTime(Date approveStartTime) {
		this.approveStartTime = approveStartTime;
	}

	public Date getApproveEndTime() {
		return approveEndTime;
	}

	public void setApproveEndTime(Date approveEndTime) {
		this.approveEndTime = approveEndTime;
	}

	public Date getActualStartTime() {
		return actualStartTime;
	}

	public void setActualStartTime(Date actualStartTime) {
		this.actualStartTime = actualStartTime;
	}

	public Date getActualEndTime() {
		return actualEndTime;
	}

	public void setActualEndTime(Date actualEndTime) {
		this.actualEndTime = actualEndTime;
	}

	public Date getApproveTime() {
		return approveTime;
	}

	public void setApproveTime(Date approveTime) {
		this.approveTime = approveTime;
	}

	public BigDecimal getOverTimeHours() {
		return overTimeHours;
	}

	public void setOverTimeHours(BigDecimal overTimeHours) {
		this.overTimeHours = overTimeHours;
	}

	public Date getOverTimeDate() {
		return overTimeDate;
	}

	public void setOverTimeDate(Date overTimeDate) {
		this.overTimeDate = overTimeDate;
	}

	public String getJobCode() {
		return jobCode;
	}

	public void setJobCode(String jobCode) {
		this.jobCode = jobCode;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getGoOutStarTime() {
		return goOutStarTime;
	}

	public void setGoOutStarTime(Date goOutStarTime) {
		this.goOutStarTime = goOutStarTime;
	}

	public Date getGoOutEndTime() {
		return goOutEndTime;
	}

	public void setGoOutEndTime(Date goOutEndTime) {
		this.goOutEndTime = goOutEndTime;
	}

	public Date getOnBusinessStartTime() {
		return onBusinessStartTime;
	}

	public void setOnBusinessStartTime(Date onBusinessStartTime) {
		this.onBusinessStartTime = onBusinessStartTime;
	}

	public Date getOnBusinessEndTime() {
		return onBusinessEndTime;
	}

	public void setOnBusinessEndTime(Date onBusinessEndTime) {
		this.onBusinessEndTime = onBusinessEndTime;
	}

	public String getOverTimeApproveId() {
		return overTimeApproveId;
	}

	public void setOverTimeApproveId(String overTimeApproveId) {
		this.overTimeApproveId = overTimeApproveId;
	}

	public String getGoOutApproveId() {
		return goOutApproveId;
	}

	public void setGoOutApproveId(String goOutApproveId) {
		this.goOutApproveId = goOutApproveId;
	}

	public String getOnBusinessApproveId() {
		return onBusinessApproveId;
	}

	public void setOnBusinessApproveId(String onBusinessApproveId) {
		this.onBusinessApproveId = onBusinessApproveId;
	}

	public Integer getIsTriple() {
		return isTriple;
	}

	public void setIsTriple(Integer isTriple) {
		this.isTriple = isTriple;
	}

	public String getCompanyType() {
		return companyType;
	}

	public void setCompanyType(String companyType) {
		this.companyType = companyType;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "OverTimeDetail{" +
				"id=" + id +
				", userId='" + userId + '\'' +
				", userName='" + userName + '\'' +
				", approveStartTime=" + approveStartTime +
				", approveEndTime=" + approveEndTime +
				", actualStartTime=" + actualStartTime +
				", actualEndTime=" + actualEndTime +
				", approveTime=" + approveTime +
				", overTimeHours=" + overTimeHours +
				", overTimeDate=" + overTimeDate +
				", jobCode='" + jobCode + '\'' +
				", updateTime=" + updateTime +
				", createTime=" + createTime +
				", goOutStarTime=" + goOutStarTime +
				", goOutEndTime=" + goOutEndTime +
				", onBusinessStartTime=" + onBusinessStartTime +
				", onBusinessEndTime=" + onBusinessEndTime +
				", overTimeApproveId='" + overTimeApproveId + '\'' +
				", goOutApproveId='" + goOutApproveId + '\'' +
				", onBusinessApproveId='" + onBusinessApproveId + '\'' +
				", isTriple=" + isTriple +
				", companyType='" + companyType + '\'' +
				'}';
	}
}
